#pragma once;

#include <string>
#include "config.hpp"


namespace dexgel
{
	class Rendrer; // fwd decl

	namespace priv
	{
		class WindowImpl;
	}


class Window
{
public:
	Window(int xres, int yres, const std::string& Title);

	~Window();

	bool IsOpened();

	void UpdateMessages();
	Rendrer* getRendrer();
	int getMouseX();
	int getMouseY();
	bool keyDown(int key);
	bool mouseDown();
	double getTime();
	bool canRender();
	
private:
	priv::WindowImpl* myWindow;
};

}